<?php
require_once("../Datos/Selector.php");
require_once("../Datos/SubConsulta.php");
require_once("../Datos/Tablas/Tbl_ec_ventas.php");
require_once("../Datos/Selectores/Sel_Ventas_No_Guion.php");

class Sel_Est_Empresa extends Selector{

	function Sel_Est_Empresa(&$conexion){
		$this->Selector($conexion);

		$this->Nombre = "Est_Empresa";
		$this->estTablaBase(new Tbl_ec_ventas($conexion, ''));
		
		$relacionada = new SubConsulta(new Sel_Ventas($conexion), 'Ventas');
		$this->agregarTablaRelacionada($relacionada, 'INNER JOIN');
		$this->agregarCampoJunta($this->tablaBase->obtCampo('ven_id'), $this->obtCampoRelacionado('Ventas', 'ven_id'), '=');
		
		//$this->estEsAgrupado(1);		
		
		$tabla = $this->obtTabla('Ventas');
		$funcion = new Funcion('Cant Ventas', 'Count', $tabla);
		$campo = $this->obtCampoRelacionado('Ventas', 'ven_id');
		$funcion->agregarCampo($campo);
		$funcion->estEsReadOnly(1);
		$funcion->estEsBase(1);
		$funcion->estNoIngresar(1);
		$this->agregarCampoVisible($funcion);		
				
		$funcion = new Funcion('Monto Ventas ($)', '', $tabla);
		$funcion->agregarExpresion("IF(Count(Ventas.ven_id) > 0, Sum(Ventas.Monto), 0)");
		$funcion->estEsReadOnly(1);
		$funcion->estEsBase(1);
		$funcion->estNoIngresar(1);
		$this->agregarCampoVisible($funcion);
		
		$funcion = new Funcion('Ganancia Prevista ($)', '', $tabla);
		$funcion->agregarExpresion("IF(Count(Ventas.ven_id) > 0,(Sum(Ventas.Monto) - Sum(Ventas.stock_costo) - 
		Sum((Ventas.Monto * Ventas.Com_Vendedor / 100)) - Sum((Ventas.Monto * Ventas.Com_Cobrador / 100))), 0)");
		$funcion->estEsOrden("DESC");
		$funcion->estEsReadOnly(1);
		$funcion->estEsBase(1);
		$funcion->estNoIngresar(1);
		$this->agregarCampoVisible($funcion);
		
		$funcion = new Funcion('Ganancia Actual ($)', '', $tabla);
		$funcion->agregarExpresion("IF(Count(Ventas.ven_id) > 0,FORMAT((Sum(Ventas.stock_costo * -1) + Sum(Ventas.venc_monto_pago) - Sum(Ventas.monto_liquidado)), 2), 0)");
		$funcion->estEsReadOnly(1);
		$funcion->estEsBase(1);
		$funcion->estNoIngresar(1);
		$this->agregarCampoVisible($funcion);
		
		$funcion = new Funcion('Cobrados ($)', '', $tabla);
		$funcion->agregarExpresion("IF(Count(Ventas.ven_id) > 0,Sum(Ventas.venc_monto_pago), 0)");
		$funcion->estEsReadOnly(1);
		$funcion->estEsBase(1);
		$funcion->estNoIngresar(1);
		$this->agregarCampoVisible($funcion);
		
		$funcion = new Funcion('A Cobrar ($)', '', $tabla);
		$funcion->agregarExpresion("IF(Count(Ventas.ven_id) > 0,Sum(Ventas.Monto - Ventas.venc_monto_pago), 0)");
		$funcion->estEsReadOnly(1);
		$funcion->estEsBase(1);
		$funcion->estNoIngresar(1);
		$this->agregarCampoVisible($funcion);
		
		$funcion = new Funcion('A Liquidar ($)', '', $tabla);
		$funcion->agregarExpresion("IF(Count(Ventas.ven_id) > 0,FORMAT((Sum(Ventas.monto_a_liquidar) - Sum(Ventas.monto_liquidado)), 2), 0)");
		$funcion->estEsReadOnly(1);
		$funcion->estEsBase(1);
		$funcion->estNoIngresar(1);
		$this->agregarCampoVisible($funcion);
		
		$this->txtConsulta = $this->GenerarConsulta(1);
 } 
}
?>
